package inteface;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;

import domain.Usuario;

public class UserInterfaz extends JInternalFrame implements ActionListener {

	private static final long serialVersionUID = -6956658519400179076L;

	private JButton jbModificarDatos;
	private JButton jbVerSaldo;
	private JButton jbRecargarSaldo;
	private JButton jbVerHistorial;
	private JButton jbAlquilar;
	private JButton jbComprar;
	private JButton jbDevolver;
	private JButton jbCerrarSesion;
	private JButton jbValorar;
	private JButton jbVerMejorValorados;
	private JButton jbMarcarFavorito;
	private JButton jbVerFavorito;

	private Usuario usuario;

	public UserInterfaz(Usuario usuario) {
		super("Menu Usuario", false, false);
		this.usuario = usuario;
		this.setSize(800, 600);
		this.inicializarSubComponentes();
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	private void inicializarSubComponentes() {
		JPanel p = new JPanel(new GridLayout(4, 4));

		jbModificarDatos = new JButton("Modificar Mis datos");
		jbModificarDatos.addActionListener(this);
		jbVerSaldo = new JButton("Ver saldo");
		jbVerSaldo.addActionListener(this);
		jbRecargarSaldo = new JButton("Recargar saldo");
		jbRecargarSaldo.addActionListener(this);
		jbVerHistorial = new JButton("Ver Mi historial");
		jbVerHistorial.addActionListener(this);
		jbMarcarFavorito = new JButton("Marcar como favorito");
		jbMarcarFavorito.addActionListener(this);
		jbVerMejorValorados = new JButton("Ver los mejor puntuados");
		jbVerMejorValorados.addActionListener(this);
		jbAlquilar = new JButton("Alquilar");
		jbAlquilar.addActionListener(this);
		jbComprar = new JButton("Comprar");
		jbComprar.addActionListener(this);
		jbDevolver = new JButton("Devolver");
		jbDevolver.addActionListener(this);
		jbValorar = new JButton("Valorar");
		jbValorar.addActionListener(this);
		jbCerrarSesion = new JButton("Cerrar sesion");
		jbCerrarSesion.addActionListener(this);
		jbVerFavorito = new JButton("Ver mis favoritos");
		jbVerFavorito.addActionListener(this);

		p.add(jbModificarDatos);
		p.add(jbVerSaldo);
		p.add(jbRecargarSaldo);
		p.add(jbVerHistorial);
		p.add(jbVerFavorito);
		p.add(jbVerMejorValorados);
		p.add(jbAlquilar);
		p.add(jbComprar);
		p.add(jbMarcarFavorito);
		p.add(jbDevolver);
		p.add(jbValorar);
		p.add(jbCerrarSesion);
		this.add(p);

	}

	@Override
	public void actionPerformed(ActionEvent actionEvent) {

		if (actionEvent.getSource() instanceof JButton) {
			JButton btnPulsado = (JButton) actionEvent.getSource();
			if (btnPulsado == jbModificarDatos) {
				Registro frameRegistro = new Registro("Modificar", usuario);

				frameRegistro.setVisible(true);
				Principal.getPanelEscritorio().add(frameRegistro);
				try {
					frameRegistro.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbVerSaldo) {
				RecargarSaldo frameRecargarSaldo = new RecargarSaldo("Ver",
						usuario);

				frameRecargarSaldo.setVisible(true);
				Principal.getPanelEscritorio().add(frameRecargarSaldo);
				try {
					frameRecargarSaldo.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbRecargarSaldo) {
				RecargarSaldo frameRecargarSaldo = new RecargarSaldo(
						"Recargar", usuario);

				frameRecargarSaldo.setVisible(true);
				Principal.getPanelEscritorio().add(frameRecargarSaldo);
				try {
					frameRecargarSaldo.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			}

			else if (btnPulsado == jbValorar) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula("Valorar",
						usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbVerFavorito) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula("VerFavoritos",
						usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			}

			else if (btnPulsado == jbDevolver) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula("Devolver",
						usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbAlquilar) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula("Alquilar",
						usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}

			} else if (btnPulsado == jbMarcarFavorito) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula(
						"MarcarFavorito", usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}

			} else if (btnPulsado == jbVerHistorial) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula(
						"Ver historial", usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbComprar) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula("Comprar",
						usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbVerMejorValorados) {
				CDvsPelicula frmCDvsPelicula = new CDvsPelicula("MValorados",
						usuario);

				frmCDvsPelicula.setVisible(true);
				Principal.getPanelEscritorio().add(frmCDvsPelicula);
				try {
					frmCDvsPelicula.setSelected(true);
				} catch (java.beans.PropertyVetoException e) {
				}
			} else if (btnPulsado == jbCerrarSesion) {
				dispose();
				Principal.getFramePrincipal().createLoginFrame();
			}

		}

	}

}
